Soru & Cevap

Başka sayfaya yönlenmek

08.04.2014 - 04:51

Projemde doğal olarak sürekli başka sayfaya yönleniyorum ve o sayfaya bilgi taşıyorum. kod tekrarı olmaması için yönlendirici kod bloğunu başka bir class'da method olarak tutup, yönelnmek istediğim sayfayı parametre olarak girmek istiyorum. aşağıdaki gibi kod bloğunu oluşturdum:

public void Yonlen(Class sayfa)

[code]

    {
        try{
             Bundle bilgi_gonder=new Bundle();
             bilgi_gonder.putString(server_respond,"bilgi");
             Intent intent=new Intent();
             intent.putExtras(bilgi_gonder);
             intent.setClass(getApplicationContext(), sayfa);
             startActivity(intent);      
            }
            catch (Exception e) {
                 e.printStackTrace();
               }
    }

[/code]

 

daha sonra ilgili sayfada butona tıklandığında aşağıdaki gibi çağırıyorum:

[code]

classYonlen Yonlen=new classYonlen();
                Yonlen.Yonlen(MainActivity.class);

[/code]

fakat bir türlü butona tıkladığımda tepki almıyorum. neyi yanlış yapıyorum. veya başka nasıl yapabilirim düşündüğüm gibi?

12 Görüntülenme

2 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-7494-1397646387.jpg
baranbuyuk
11.04.2014 - 03:56

[code]

public class Utils {

    public static void router(Context con, Class<?> gidilecekSinif,
            String tasinacakVeri) {
        
        Intent mIntent = new Intent();
        mIntent.putExtra("veriyeVerilenIsım", tasinacakVeri);
        mIntent.setClass(con, gidilecekSinif);
        mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        con.startActivity(mIntent);
        
    }

 

}

[/code]

picture-3606-1408610132.jpg
cgural
08.04.2014 - 05:39

Merhaba,

Yonlen() metoduna Context de atamalısınız. Bu haliyle getApplicationContext() sorun çıkarmayacak bir yerde mi ki?

 

Birkaç önerim var:

-Yonlen() metodunu yonlen() olarak yazın

-yonlen() metodunu static yapın.

-Yonlen sınıfını örneklemeden (new ile üretmeden) bu işi halletmeye çalışın.

-yonlen() içindeki Intent'e ekleyeceğiniz Bundle verilerini eğer sunucudan falan alacaksanız o süreci onClick() olayının dışında hallettikten sonra Bundle'a ekleme yapın.

Mushfig
08.04.2014 - 07:46
evet sorun Context. ilgili sayfada context'i nasıl atıyacağız?